Method and apparatus for nonlinear anamorphic scaling of video images

ABSTRACT

Methods and apparatuses for nonlinear scaling of video images. To match the aspect ratios of a video image and the target display area, at least one embodiment of the present invention scales the video image according to one or more nonlinear functions along the horizontal direction and/or the vertical direction. In one embodiment, the nonlinear functions are such that the original aspect ratio of the video image is preserved near the center region (or strip) of the image and the image is gradually stretched (or compressed) as it is mapped to the edges. In one example, the scaling is implemented by the texture mapping functionality of OpenGL using graphics hardware. In one embodiment of the present invention, the nonlinear mapping is constructed according to a polynomial mapping; and, the coefficients of the polynomial are adjustable by a user to trade off distortion between the image center and the image edges, giving the user control over the location and the amount of distortion.

FIELD OF THE INVENTION

The invention relates to display of video images, and more particularlyto scaling of video images.

BACKGROUND OF THE INVENTION

A frame of a video image is typically represented by a rectangular arrayof pixels. The numbers of rows and columns of the rectangular array ofpixels define the aspect ratio of the video image. A stream of videodata typically contains a number of frames of video images, to bedisplayed at a given display area one frame after another. When thetarget display area is capable displaying a different number of rows ora different number of columns of pixels than those of the given videoimage, a portion of the target display area may be used to display theentire video image, or only a portion of the video image may bedisplayed on the target display area, without scaling.

To fit the entire video image onto the target display area, the videoimage is typically scaled linearly in the vertical direction and/or thehorizontal direction. Since different scaling factors may be required tofit the entire video image onto the target display area, the aspectratio of the original video image may be distorted after the scalingoperation. Thus, a circle in the original video image may be displayedas an ellipse in the target display area.

SUMMARY OF THE DESCRIPTION

Methods and apparatuses for nonlinear scaling of video images aredescribed here.

To match the aspect ratios of a video image and the target display area,at least one embodiment of the present invention scales the video imageaccording to one or more nonlinear functions along the horizontaldirection and/or the vertical direction. In one embodiment, thenonlinear functions are such that the original aspect ratio of the videoimage is preserved near the center region (or strip) of the image andthe image is gradually stretched (or compressed) as it is mapped to theedges. In one example, the scaling is implemented by the texture mappingfunctionality of OpenGL using graphics hardware. In one embodiment ofthe present invention, the nonlinear mapping is constructed according toa polynomial mapping; and, the coefficients of the polynomial areadjustable by a user to trade off distortion between the image centerand the image edges, giving the user control over the location and theamount of distortion.

In at least one embodiment of the present invention, a method to scale afirst video image having a first aspect ratio includes: performingnonlinear scaling of the first video image along each of at least onedirection (e.g., a direction along the horizontal or vertical pixellines of the first video image), to generate a second video image of asecond aspect ratio that is different from the first aspect ratio. Inone example, a first rectangular region of the first video image isscaled as a corresponding first rectangular region of the second videoimage; the aspect ratios of the first rectangular region of the firstvideo image and the first rectangular region of the second video imageare substantially the same; a second rectangular region of the firstvideo image is scaled as a corresponding second rectangular region ofthe second video image; and, the aspect ratios of the second rectangularregion of the first video image and the second rectangular region of thesecond video image are substantially different. In one example, userinput is received to specify one of: a) the first rectangular region ofthe first video image; and, b) the first rectangular region of thesecond video image. In one example, the first video image has a firstrectangular boundary of the first aspect ratio; and, the second videoimage has a second rectangular boundary of the second aspect ratio. Inone example, the nonlinear scaling of the first video image includespiecewise linear scaling of a plurality of regions according todifferent scaling factors; and, graphics hardware (e.g., a graphicsprocessing unit (GPU)) of a data processing system is instructed (e.g.,by the central processing unit (CPU) of the data processing system) toperform the piecewise linear scaling of the plurality of regions. In oneexample, user input is received to specify the nonlinear scaling; and,the plurality of regions for nonlinear scaling are determined accordingto the user input. In one example, the graphics hardware also convertsthe first video image from a first color space (e.g., YUV) to the secondvideo image in a second color space (RGB). In one example, the secondvideo image is stored in a frame buffer for display on a display deviceof the data processing system. In another example, a circuit isintegrated with a display device for scaling different video signals ofdifferent aspect ratios.

The present invention includes methods and apparatuses which performthese methods, including data processing systems which perform thesemethods, and computer readable media which when executed on dataprocessing systems cause the systems to perform these methods.

Other features of the present invention will be apparent from theaccompanying drawings and from the detailed description which follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows a block diagram example of a data processing system whichmay be used with the present invention.

FIGS. 2–4 show examples of nonlinear anamorphic scaling of video imagesaccording to embodiments of the present invention.

FIGS. 5–6 show examples of nonlinear anamorphic scaling of video imagesusing graphics hardware of a data processing system according toembodiments of the present invention.

FIGS. 7–8 show block diagram examples of display devices for nonlinearanamorphic scaling of video images according to embodiments of thepresent invention.

FIG. 9 shows a method to scale video images according to one embodimentof the present invention.

FIG. 10 shows a detailed method to piecewisely scale video imagesaccording to one embodiment of the present invention.

FIG. 11 shows a method to adjust the aspect ratio of a video imageaccording to one embodiment of the present invention.

FIG. 12 shows a method according to one embodiment of the presentinvention.

DETAILED DESCRIPTION

The following description and drawings are illustrative of the inventionand are not to be construed as limiting the invention. Numerous specificdetails are described to provide a thorough understanding of the presentinvention. However, in certain instances, well known or conventionaldetails are not described in order to avoid obscuring the description ofthe present invention. References to an or one embodiment in the presentdisclosure are not necessary to the same embodiment; and, suchreferences means at least one.

FIG. 1 shows one example of a typical computer system which may be usedwith the present invention. Note that while FIG. 1 illustrates variouscomponents of a computer system, it is not intended to represent anyparticular architecture or manner of interconnecting the components assuch details are not germane to the present invention. It will also beappreciated that network computers and other data processing systemswhich have fewer components or perhaps more components may also be usedwith the present invention. The computer system of FIG. 1 may, forexample, be an Apple Macintosh computer.

As shown in FIG. 1, the computer system 101, which is a form of a dataprocessing system, includes a bus 102 which is coupled to amicroprocessor 103 and a ROM 107 and volatile RAM 105 and a non-volatilememory 106. The microprocessor 103, which may be, for example, a G3 orG4 microprocessor from Motorola, Inc. or IBM is coupled to cache memory104 as shown in the example of FIG. 1. The bus 102 interconnects thesevarious components together and also interconnects these components 103,107, 105, and 106 to a display controller and display device 108 and toperipheral devices such as input/output (I/O) devices which may be mice,keyboards, modems, network interfaces, printers, scanners, video camerasand other devices which are well known in the art. Typically, theinput/output devices 110 are coupled to the system through input/outputcontrollers 109. The volatile RAM 105 is typically implemented asdynamic RAM (DRAM) which requires power continually in order to refreshor maintain the data in the memory. The non-volatile memory 106 istypically a magnetic hard drive or a magnetic optical drive or anoptical drive or a DVD RAM or other type of memory systems whichmaintain data even after power is removed from the system. Typically,the non-volatile memory will also be a random access memory althoughthis is not required. While FIG. 1 shows that the non-volatile memory isa local device coupled directly to the rest of the components in thedata processing system, it will be appreciated that the presentinvention may utilize a non-volatile memory which is remote from thesystem, such as a network storage device which is coupled to the dataprocessing system through a network interface such as a modem orEthernet interface. The bus 102 may include one or more buses connectedto each other through various bridges, controllers and/or adapters as iswell known in the art. In one embodiment the I/O controller 109 includesa USB (Universal Serial Bus) adapter for controlling USB peripherals,and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.

It will be apparent from this description that aspects of the presentinvention may be embodied, at least in part, in software. That is, thetechniques may be carried out in a computer system or other dataprocessing system in response to its processor, such as amicroprocessor, executing sequences of instructions contained in amemory, such as ROM 107, volatile RAM 105, non-volatile memory 106,cache 104 or a remote storage device. In various embodiments, hardwiredcircuitry may be used in combination with software instructions toimplement the present invention. Thus, the techniques are not limited toany specific combination of hardware circuitry and software nor to anyparticular source for the instructions executed by the data processingsystem. In addition, throughout this description, various functions andoperations are described as being performed by or caused by softwarecode to simplify description. However, those skilled in the art willrecognize what is meant by such expressions is that the functions resultfrom execution of the code by a processor, such as the microprocessor103.

A machine readable medium can be used to store software and data whichwhen executed by a data processing system causes the system to performvarious methods of the present invention. This executable software anddata may be stored in various places including for example ROM 107,volatile RAM 105, non-volatile memory 106 and/or cache 104 as shown inFIG. 1. Portions of this software and/or data may be stored in any oneof these storage devices.

Thus, a machine readable medium includes any mechanism that provides(i.e., stores and/or transmits) information in a form accessible by amachine (e.g., a computer, network device, personal digital assistant,manufacturing tool, any device with a set of one or more processors,etc.). For example, a machine readable medium includesrecordable/non-recordable media (e.g., read only memory (ROM); randomaccess memory (RAM); magnetic disk storage media; optical storage media;flash memory devices; etc.), as well as electrical, optical, acousticalor other forms of propagated signals (e.g., carrier waves, infraredsignals, digital signals, etc.); etc.

At least one embodiment of the present invention seeks to preserve theoriginal aspect ratio near an area of interest using nonlinear scalingof video images.

When a video image is scaled linearly by different scaling factors alongthe horizontal and vertical directions, the aspect ratio of the videoimage is changed uniformly across the video image. A circle at anylocation on the original video image is displayed as an ellipse of thesame aspect ratio.

According to one embodiment of the present invention, it is desirable tomaintain the original aspect ratio in an area of interest (e.g., at thecenter of the image) and gradually stretch the image in other areas.Thus, the image in the area of interest is presented in the targetdisplay area with reduced distortion (or with no distortion), whileother areas are distorted. Nonlinear scaling is used according to oneembodiment of the present invention to achieve such results.

FIGS. 2–4 show examples of nonlinear anamorphic scaling of video imagesaccording to embodiments of the present invention.

In the example of FIG. 2, image 271 is scaled nonlinearly in thehorizontal direction to reduce the width to that of image 273. Topreserve the original aspect ratio near the center of image 271,nonlinear mapping according to nonlinear curve 241 is used to map thepositions of the vertical lines along the horizontal direction. Forexample, the vertical line at x=x₄ (214) in image 271 is mapped to thevertical line at X=X₄ (204) in image 273. Similarly, horizontalpositions represented by points 213, 212 and 211 (x₃, x₂, x₁) in image271 are mapped to horizontal positions represented by points 203, 202and 201 (X₃, X₂, X₁) in image 273; and, 231–234 to 221–224. Thus, evenlyspaced vertical lines in image 271 are displayed as non-evenly spacedvertical lines in image 273. For example, shaded region 253 is displayedas region 263. Since the nonlinear scaling is applied only to thehorizontal direction, the change of aspect ratio is uniform along thevertical direction, while non-uniform along the horizontal direction.The slope of curve 241 near the center (243) of the image is adjusted sothat the original aspect ratio near the center is preserved in image273. Thus, a square region at the center of image 271 is mapped (orscaled) as a square (or a rectangle substantially close to a square) inimage 273. While the straight horizontal and vertical lines of image 271are mapped as the corresponding straight horizontal and vertical linesof image 273, a straight line of a slant angle (e.g., line 251) isdisplayed as a curve (e.g., curve 261), due to the nonlinear scaling inthe horizontal direction. It will be appreciated that “linear” meansthat a change in the x coordinate value (e.g., x changes from 1 to 2)produces a constant multiple of that change in the y coordinate value(e.g., y changes from 2 to 4 if y=2x). Non-linear normally means that achange in x produces a change in y which is other than a constantmultiple of that change (or x value) along at least a portion of thefunction which describes the nonlinear relationship or curve.

In the example of FIG. 3, image 371 is scaled nonlinearly in thehorizontal direction to increase the width to that of image 373.Nonlinear curve 343 is used to map the vertical lines of image 371 frompositions 302–304 to positions 312–314 (on line 341), and 322–324 to332–334. The positions of the vertical lines at x=±x₁ (301 and 321)remain unchanged. Thus, the center strip of image 371 is displayedwithout distortion as the center strip of image 373, while the sidestrips of image 371 (e.g., strip 355) are stretched horizontally (e.g.,as strip 365) to fill the display region. Circle 351 in the center stripof image 371 is displayed as circle 361 in the center strip of image373. However, circle 353 is distorted as curve 363. Since the detail atthe center strip is typically of more interest to a viewer, thenonlinear scaling in the example preserves the original feature of thevideo image in the area of interest, the center strip.

FIGS. 2 and 3 illustrate the examples of nonlinear scaling in thehorizontal direction, while the vertical direction is not scaled. Ingeneral, linear scaling in both directions can also be combined withnonlinear scaling (either in the vertical direction or in the horizontaldirection) so that the aspect ratio of the area of interest (e.g., thecenter strip) is preserved. Typically, the linear scaling and thenonlinear scaling are performed in one combined operation.

According to one embodiment of the present invention, nonlinear scalingis applied in both the vertical direction and the horizontal direction.In FIG. 4, image 401 is stretched in the horizontal direction andcompressed in the vertical direction to generate image 403. Nonlinearscaling is applied in both directions in operation 421. Curve 411 isused to map the horizontal positions of the vertical lines; and, curve413 is used to map the vertical positions of the horizontal lines. Thus,while the aspect ratio of the portions of the image near the boundary isdistorted, the aspect ratio of the center region of the image ispreserved. Alternatively, linear scaling can be combined with nonlinearscaling in operations 423 and 425 to generate image 405. Curve 415 isused for the nonlinear horizontal scaling. In image 405, the aspectratio of the center strip is preserved. For example, region 433 near thebottom of image 405 has the same aspect ratio as region 443 of image401. However, when region 431 is compared to region 441, it is seen thatthe vertical boundary strips are severely distorted. In image 403, whileboth regions 437 and 435 are distorted in aspect ratio, region 435 hasless distortion than region 431. Thus, the distortion of aspect ratio isdistributed around the boundary region in image 403, while thedistortion is concentrated in the boundary strips in image 405.

In FIG. 4, it is seen that image 407 can also be scaled nonlinearly inboth directions to generate image 403. In one embodiment of the presentinvention, when a video image is required to fill a display area with alinear horizontal scaling factor A and a linear vertical scaling factorB, where A≠B, nonlinear scaling can be constructed to have a scalingfactor C at the center of interest (e.g., the center of the image) topreserve the aspect ratio at the center of interest. In one embodimentof the present invention, C is chosen so that C is between A and B; and,the aspect ratio of the image is compressed nonlinearly along onedirection and stretched nonlinearly along the other direction. When Capproaches A, the horizontal scaling approaches from nonlinear scalingto linear scaling; when C approaches B, the vertical scaling approachesfrom nonlinear scaling to linear scaling. In one embodiment of thepresent invention, a user specifies the area of interest; and, thenonlinear scaling is constructed according to the location and the sizeof the area of interest.

Various nonlinear curves can be used for the construction of nonlinearscaling. For example, a cubical polynomial can be used to map thecoordinates. For instance, when a video image is required to fill adisplay area with a linear horizontal scaling factor A and a linearvertical scaling factor B, the image can be linearly scaled by factor Ain the horizontal direction using mapping X=Ax and be nonlinearly scaledin the vertical direction using mapping Y=y(A+(B−A)×(y/H)²), where H isthe half height of the video image, (x, y) are the coordinates of apoint in the video image, and (X, Y) is the coordinates of thecorresponding point in the scaled image. Thus, the region near y=0 isscaled by a factor close to A in both the horizontal and verticaldirection, while the regions near y±H are scaled by a factor of A in thehorizontal direction, and a factor of (3B−2A). Functions other than thecubical polynomial can also be used. For example, a curve-fit functiongenerated based on a number of control points can be used. The controlpoints can be predefined or received from user input devices (e.g.,through a control button, or a graphical user interface, or a voicerecognition system). Piecewise functions (e.g., piecewise linearfunctions) can also be used.

FIGS. 5–6 show examples of nonlinear anamorphic scaling of video imagesusing graphics hardware of a data processing system according toembodiments of the present invention.

In FIG. 5, a computer program processes video data 501 having separateframes (e.g., stored on memory of a data processing system, such asvolatile RAM 105 or nonvolatile memory 106 in FIG. 1). Each frame may bepart of a sequence of related images, as in a movie. Each frame of videoimage is nonlinearly scaled according to embodiments of the presentinvention using graphics hardware (e.g., display controller 108 in FIG.1). For example, a frame is divided into a number of strips (503). Thedata specifying the non-uniform mapping (505) is used to define thescaling of each of strips using the graphics hardware (e.g., graphicsprocessing unit (GPU) 507). Various graphics hardware known in the artcan be used to efficiently scale the strips of images. The graphicshardware linearly scales each strip according the instructions (e.g.,sent from the central processing unit (CPU)). Through graphics functioncalls (e.g., OpenGL, or DirectX), the graphics hardware can beinstructed to scale each strips linearly. Thus, each frame of image(503) is piecewise linearly scaled and stored in a frame buffer (509).Typically, a digital analog converter (DAC) 511 converts the data in theframe buffer into signals for controlling display 513. The target areain the frame buffer can be a portion of the frame buffer so that thevideo is displayed on only a portion of a display device (e.g., aCathode Ray Tube (CRT) monitor, a Liquid Crystal Display (LCD) panel, orothers). The target area can also be the entire frame buffer so that thevideo is displayed on the entire display area of the display device.

Different schemes can be used in determining the strips and coordinatesfor instructing the graphics hardware to perform the scaling. Forexample, the original video image can be divided into evenly spacedstrips so that the graphics hardware can scale them into strips ofdifferent widths for the frame buffer. Alternatively, the original videoimage may be so divided that, after the scaling, the correspondingstrips have the same width. The nonlinear scaling in one direction canbe to either stretch or compress the aspect ratio along this direction.

In FIG. 6, both the horizontal and the vertical directions are scaledpiecewise linearly using a graphics processing unit (607). A frame ofvideo image from video data 601 is divided into a number of rectangularregions (603). The graphics processing unit linearly scales each of therectangular regions to achieve the overall nonlinear scaling in bothdirections (e.g., by using different scaling factors for differentregions according to the data specifying the non-uniform mapping (605)).In one embodiment of the present invention, the graphics hardware alsoconverts the image data from one color space (e.g., YUV of the videodata) to another (e.g., RGB suitable for controlling display device). Inone embodiment of the present invention, double buffering is used forthe frame buffer so that when the graphics processing unit is generatingone frame of video image in one of the frame buffers (e.g., 609), thedigital analog converter (DAC) (611) generates display signals for theprevious frame in the other frame buffer (e.g., 619) to control display(613). After the graphics processing unit finishing scaling the currentframe, the frame buffers are switched in roles.

In one embodiment of the present invention, the nonlinear scaling (e.g.,the location and size of the area of interest) is adjustable by a userso that the user can adjust the scaling in real time according to theuser's preferences.

At least some embodiments of the nonlinear scaling of the presentinventions can also be applied to display devices, such as monitors,display panels, television sets or high definition television sets. Thedisplay devices according to one embodiment of the present inventioncontain circuits for nonlinearly scaling video signals to compensatedistortions in aspect ratio due to linear scaling at areas of interest(typically the center region or strip of the display device).

FIGS. 7–8 show block diagram examples of display devices for nonlinearanamorphic scaling of video images according to embodiments of thepresent invention.

In FIG. 7, after the video signal is received from a source (e.g., anexternal connection, or a turner) at signal receiving circuit 701, thecontrol signals (e.g., RGB color signals, horizontal and verticalsynchronization signals (HSYNC and VSYNC)) are generated (703) (e.g.,according to linear scaling in both directions). Under control of aspectratio adjustment data/signal (e.g., received from a control button ofthe display device, or determined from the input video signal and theaspect ratio of the display device), the retiming circuit (705) adjuststhe timing of the horizontal (and/or vertical) scanline control signalto scale the image in the horizontal (or vertical) directionnonlinearly. For example, the horizontal scanline control signal of aCRT monitor can be changed from a linear function of time to a nonlinearfunction of time so that the timing of the activation of the pixels onthe scanline is remapped to effectively perform nonlinear scaling alongthe horizontal direction. In one embodiment of the present invention,the information about the original aspect ratio of the video signal(701) is combined with the information of the aspect ratio of thedisplay device (709) and the user input about the nonlinear scaling(e.g., the area of interest, or, the degree of nonlinearity) to generatethe aspect ratio adjustment data. From this description, a personskilled in the art will understand that various circuits can be used toas the retiming circuit (705) to perform the nonlinear scaling. Inaddition to analog circuits for performing the nonlinear scaling (e.g.,using the nonlinear scanline control signals), digital circuits can alsobe used, when analog to digital and/or digital to analog converters areused.

For example, in FIG. 8, video signal (e.g., signals from an externalsource, a television turner, a high definition television turner, adigital video source, such as digital cable television, digitalsatellite television) is received at the signal receiving circuit 731for display on device 737. To fit the video image into the display areof display device 737, scaling circuit 733 nonlinearly scales the videoimage (e.g., to preserve the original aspect ratio of the video image atan area of interest, such as the center region or center strip of thedisplay device). Then, control signals 735 (e.g., RGB signals andhorizontal and vertical synchronization signals) are generated fromdisplaying the video image on display device 737. In one embodiment ofthe present invention, scaling circuit 733 includes a buffer forpipelining the process of nonlinear scaling and the generation ofcontrol signals.

A typical CRT computer monitor contains buttons for adjusting variousproperties of the CRT monitor, such as the brightness, contrast,horizontal/vertical position or size of the display area, and the shapeof the display area (e.g., trapezoid correction). According to oneembodiment of the present invention, a display device also containsbuttons for adjusting the nonlinear scaling.

FIG. 9 shows a method to scale video images according to one embodimentof the present invention. After operation 801 receives a first videoimage of a first aspect ratio, operation 803 performs nonlinear scalingof the first video image along each of at least one direction togenerate a second video image of a second aspect ratio. In oneembodiment of the present invention, horizontal and vertical lines of avideo image are scaled as horizontal and vertical lines in the scaledimage so that rectangular regions of the video image remains as arectangular region (or a square, a special case of a rectangular region)after the nonlinear scaling.

FIG. 10 shows a detailed method to piecewisely scale video imagesaccording to one embodiment of the present invention. Operation 811receives a first video stream of a first aspect ratio. Operation 813divides each frame of the first video stream into a plurality of frameregions. Operation 815 scales the plurality of frame regions (e.g.,using a graphics processing unit) according to more than two scalingfactors along one direction to generate data for a plurality of regionsin a frame buffer. Operation 817 converts data in the frame buffer intosignals of a second video stream of a second aspect ratio.

FIG. 11 shows a method to adjust the aspect ratio of a video imageaccording to one embodiment of the present invention. Operation 831receives user input that specifies a nonlinear transform (e.g., throughspecifying an area of interest within which it is desirable to reducethe distortion in aspect ratio, a parameter adjusting the transform, orothers). Operation 833 receives a first video stream of a first aspectratio in a first color space (e.g., YUV). Operation 835 divides eachframe of the first video stream into a plurality of frame regions (e.g.,evenly, or, according to the nonlinear transform). For example, theframe of the first video stream can be so divided that these regions,after the scaling, will be of even size on the target display area.Operation 837 determines parameters for scaling each of the plurality offrame regions in at least on direction (e.g., vertical or horizontal)according to the nonlinear transform. Operation 839 scales the pluralityof frame regions using graphics hardware (e.g., a graphics processingunit) according to the parameters to generate data a frame of a secondvideo stream of a second aspect ratio in a second color space (e.g.,RGB).

FIG. 12 shows a method to scale video images according to one embodimentof the present invention. In this embodiment, the nonlinear scaling isperformed by the texture mapping functionality of graphics systems, suchas OpenGL or DirectX, implemented in graphics hardware. After receivinga first video image of a first aspect ratio in block 901, a nonlinearmapping function is constructed which scales the first video image togenerate a second video image of a second aspect ratio. Then, thenonlinear scaling based on this mapping function is performed usingtexture functionalities of graphics hardware, as indicated in block 903.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

1. A method to scale a video image, the method comprising: determining anonlinear function from a position coordinate of a first video imagehaving a first aspect ratio to a position coordinate of a second videoimage having a second aspect ratio, the second aspect ratio beingdifferent from the first aspect ratio, wherein the nonlinear functioncomprises piecewise linear scaling of a plurality of regions accordingto different scaling factors along at least one direction; performingnonlinear scaling of the first video image along the at least onedirection according to the nonlinear function to generate the secondvideo image of the second aspect ratio, the second aspect ratio beingdifferent from the first aspect ratio; and displaying the second videoimage on a display device.
 2. A method as in claim 1 wherein the firstaspect ratio is preserved at a center portion of the second video image.3. A method as in claim 1 wherein the first video image comprises avideo image frame from a video stream comprising a plurality of frames.4. A method as in claim 1 wherein the determining comprises determiningthe nonlinear function based on user input.
 5. A method as in claim 1wherein a texture mapping functionality of graphics hardware is used toperform the nonlinear scaling.
 6. A method as in claim 5 wherein thegraphics hardware is instructed by graphics functions of one of: a)OpenGL; and, b) DirectX.
 7. A method as in claim 1 wherein the secondvideo image has at least two different aspect ratios within the secondvideo image.
 8. A method as in claim 1 wherein a first rectangularregion of the first video image is scaled as a first rectangular regionof the second video image; aspect ratios of the first rectangular regionof the first video image and the first rectangular region of the secondvideo image are substantially the same; a second rectangular region ofthe first video image is scaled as a second rectangular region of thesecond video image; and aspect ratios of the second rectangular regionof the first video image and the second rectangular region of the secondvideo image are substantially different.
 9. A method as in claim 8further comprising: receiving input specifying one of: a) the firstrectangular region of the first video image; and b) the firstrectangular region of the second video image.
 10. A method as in claim 1wherein the first video image has a first rectangular boundary of thefirst aspect ratio; and, the second video image has a second rectangularboundary of the second aspect ratio.
 11. A method as in claim 10 whereinthe at least one direction comprises at least one of: a) a directionalong horizontal pixel lines of the first video image; or b) a directionalong vertical pixel lines of the first video image.
 12. A method as inclaim 11 wherein the at least one direction comprises: a) a directionalong horizontal pixel lines of the first video image; and b) adirection along vertical pixel lines of the first video image.
 13. Amethod as in claim 1 wherein the plurality of regions are equallydivided along the at least one direction.
 14. A method as in claim 1further comprising: instructing graphics hardware of a data processingsystem to perform the piecewise linear scaling of the plurality ofregions.
 15. A method as in claim 14 wherein the graphics hardwarecomprises a graphics processing unit (GPU); and, the data processingsystem comprises a central processing unit (CPU).
 16. A method as inclaim 15 further comprising: receiving input specifying the nonlinearscaling.
 17. A method as in claim 16 further comprising: determining theplurality of regions according to the input.
 18. A method as in claim 14wherein the graphics hardware converts the first video image from afirst color space to the second video image in a second color space. 19.A method as in claim 18 wherein the second video image is stored in aframe buffer for display on a display device of the data processingsystem.
 20. A computer readable medium containing executable computerprogram instructions which when executed by a digital processing systemcause said system to perform a method to scale a video image, the methodcomprising: determining a nonlinear function from a position coordinateof a first video image having a first aspect ratio to a positioncoordinate of a second video image having a second aspect ratio, thesecond aspect ratio being different from the first aspect ratio, whereinthe nonlinear function comprises piecewise linear scaling of a pluralityof regions according to different scaling factors along at least onedirection; performing nonlinear scaling of the first video image alongthe at least one direction according to the nonlinear function togenerate the second video image of the second aspect ratio, the secondaspect ratio being different from the first aspect ratio; and displayingthe second video image on a display device.
 21. A medium as in claim 20wherein the first aspect ratio is preserved at a center portion of thesecond video image.
 22. A medium as in claim 20 wherein the first videoimage comprises a video image frame from a video stream comprising aplurality of frames.
 23. A medium as in claim 20 wherein the determiningcomprises determining the nonlinear function based on user input.
 24. Amedium as in claim 20 wherein a texture mapping functionality ofgraphics hardware is used to perform the nonlinear scaling.
 25. A mediumas in claim 24 wherein the graphics hardware is instructed by graphicsfunctions of one of: a) OpenGL; and, b) DirectX.
 26. A medium as inclaim 20 wherein the second video image has at least two differentaspect ratios within the second video image.
 27. A medium as in claim 20wherein a first rectangular region of the first video image is scaled asa first rectangular region of the second video image; aspect ratios ofthe first rectangular region of the first video image and the firstrectangular region of the second video image are substantially the same;a second rectangular region of the first video image is scaled as asecond rectangular region of the second video image; and aspect ratiosof the second rectangular region of the first video image and the secondrectangular region of the second video image are substantiallydifferent.
 28. A medium as in claim 27 wherein the method furthercomprises: receiving input specifying one of: a) the first rectangularregion of the first video image; and b) the first rectangular region ofthe second video image.
 29. A medium as in claim 20 wherein the firstvideo image has a first rectangular boundary of the first aspect ratio;and, the second video image has a second rectangular boundary of thesecond aspect ratio.
 30. A medium as in claim 29 wherein the at leastone direction comprises at least one of: a) a direction along horizontalpixel lines of the first video image; or b) a direction along verticalpixel lines of the first video image.
 31. A medium as in claim 30wherein the at least one direction comprises: a) a direction alonghorizontal pixel lines of the first video image; and b) a directionalong vertical pixel lines of the first video image.
 32. A medium as inclaim 20 wherein the plurality of regions are equally divided along theat least one direction.
 33. A medium as in claim 20 wherein the methodfurther comprises: instructing graphics hardware of the digitalprocessing system to perform the piecewise linear scaling of theplurality of regions.
 34. A medium as in claim 33 wherein the graphicshardware comprises a graphics processing unit (GPU); and, the digitalprocessing system comprises a central processing unit (CPU).
 35. Amedium as in claim 34 wherein the method further comprises: receivinginput specifying the nonlinear scaling.
 36. A medium as in claim 35wherein the method further comprises: determining the plurality ofregions according to the input.
 37. A medium as in claim 33 wherein thegraphics hardware converts the first video image from a first colorspace to the second video image in a second color space.
 38. A medium asin claim 37 wherein the second video image is stored in a frame bufferfor display on a display device of the digital processing system.
 39. Adata processing system to scale a video image, the data processingsystem comprising: means for storing a nonlinear function from aposition coordinate of a first video image having a first aspect ratioto a position coordinate of a second video image having a second aspectratio, the second aspect ratio being different from the first aspectratio, wherein the nonlinear function comprises piecewise linear scalingof a plurality of regions according to different scaling factors alongat least one direction; and means for performing nonlinear scaling ofthe first video image along the at least one direction according to thenonlinear function to generate the second video image of the secondaspect ratio, the second aspect ratio being different from the firstaspect ratio.
 40. A data processing system as in claim 39 wherein thefirst aspect ratio is preserved at a center portion of the second videoimage.
 41. A data processing system as in claim 39 wherein the firstvideo image comprises a video image frame from a video stream comprisinga plurality of frames.
 42. A data processing system as in claim 39wherein the determining comprises determining the nonlinear functionbased on user input.
 43. A data processing system as in claim 39 whereinthe means for performing the nonlinear scaling comprises graphicshardware; and, a texture mapping functionality of the graphics hardwareis used to perform the nonlinear scaling.
 44. A data processing systemas in claim 43 wherein the graphics hardware is instructed by graphicsfunctions of one of: a) OpenGL; and, b) DirectX.
 45. A data processingsystem as in claim 39 wherein the second video image has at least twodifferent aspect ratios within the second video image.
 46. A dataprocessing system as in claim 39 wherein a first rectangular region ofthe first video image is scaled as a first rectangular region of thesecond video image; aspect ratios of the first rectangular region of thefirst video image and the first rectangular region of the second videoimage are substantially the same; a second rectangular region of thefirst video image is scaled as a second rectangular region of the secondvideo image; and aspect ratios of the second rectangular region of thefirst video image and the second rectangular region of the second videoimage are substantially different.
 47. A data processing system as inclaim 46 further comprising: means for receiving input specifying oneof: a) the first rectangular region of the first video image; and b) thefirst rectangular region of the second video image.
 48. A dataprocessing system as in claim 39 wherein the first video image has afirst rectangular boundary of the first aspect ratio; and, the secondvideo image has a second rectangular boundary of the second aspectratio.
 49. A data processing system as in claim 48 wherein the at leastone direction comprises at least one of: a) a direction along horizontalpixel lines of the first video image; or b) a direction along verticalpixel lines of the first video image.
 50. A data processing system as inclaim 49 wherein the at least one direction comprises: a) a directionalong horizontal pixel lines of the first video image; and b) adirection along vertical pixel lines of the first video image.
 51. Adata processing system as in claim 39 wherein the plurality of regionsare equally divided along the at least one direction.
 52. A dataprocessing system as in claim 39 further comprising: graphics hardwareto perform the piecewise linear scaling of the plurality of regions. 53.A data processing system as in claim 52 wherein the graphics hardwarecomprises a graphics processing unit (GPU); and, the data processingsystem comprises a central processing unit (CPU).
 54. A data processingsystem as in claim 53 further comprising: means for receiving inputspecifying the nonlinear scaling.
 55. A data processing system as inclaim 54 further comprising: means for determining the plurality ofregions according to the input.
 56. A data processing system as in claim52 wherein the graphics hardware converts the first video image from afirst color space to the second video image in a second color space. 57.A data processing system as in claim 56 wherein the second video imageis stored in a frame buffer for display on a display device of the dataprocessing system.
 58. A digital processing system to scale a videoimage, the digital processing system comprising: a bus; memory coupledto the bus, the memory storing a first video image having a first aspectratio and the memory storing a nonlinear function from a positioncoordinate of the first video image to a position coordinate of a secondvideo image having a second aspect ratio, the second aspect ratio beingdifferent from the first aspect ratio, wherein the nonlinear functioncomprises piecewise linear scaling of a plurality of regions accordingto different scaling factors along at least one direction; and aprocessor coupled to the bus, the processor performing nonlinear scalingof the first video image along the at least one direction according tothe nonlinear function to generate the second video image of the secondaspect ratio.
 59. A digital processing system as in claim 58 wherein thefirst aspect ratio is preserved at a center portion of the second videoimage.
 60. A digital processing system as in claim 58 wherein the firstvideo image comprises a video image frame from a video stream comprisinga plurality of frames.
 61. A digital processing system as in claim 58wherein the determining comprises determining the nonlinear functionbased on user input.
 62. A digital processing system as in claim 58further comprising: graphics hardware coupled to the bus; wherein atexture mapping functionality of the graphics hardware is used toperform the nonlinear scaling.
 63. A digital processing system as inclaim 62 wherein the graphics hardware is instructed by graphicsfunctions of one of: a) OpenGL; and, b) DirectX.
 64. A digitalprocessing system as in claim 58 wherein the second video image has atleast two different aspect ratios within the second video image.
 65. Adigital processing system as in claim 58 wherein a first rectangularregion of the first video image is scaled as a first rectangular regionof the second video image; aspect ratios of the first rectangular regionof the first video image and the first rectangular region of the secondvideo image are substantially the same; a second rectangular region ofthe first video image is scaled as a second rectangular region of thesecond video image; and aspect ratios of the second rectangular regionof the first video image and the second rectangular region of the secondvideo image are substantially different.
 66. A digital processing systemas in claim 65 further comprising: an input device coupled to the bus toreceive input specifying one of: a) the first rectangular region of thefirst video image; and b) the first rectangular region of the secondvideo image.
 67. A digital processing system as in claim 58 wherein thefirst video image has a first rectangular boundary of the first aspectratio; and, the second video image has a second rectangular boundary ofthe second aspect ratio.
 68. A digital processing system as in claim 67wherein the at least one direction comprises at least one of: a) adirection along horizontal pixel lines of the first video image; or b) adirection along vertical pixel lines of the first video image.
 69. Adigital processing system as in claim 68 wherein the at least onedirection comprises: a) a direction along horizontal pixel lines of thefirst video image; and b) a direction along vertical pixel lines of thefirst video image.
 70. A digital processing system as in claim 58wherein the plurality of regions are equally divided along the at leastone direction.
 71. A digital processing system as in claim 58 furthercomprising: graphics hardware coupled to the bus, the graphics hardwareperforming the piecewise linear scaling of the plurality of regions inresponse to instructions from the processor.
 72. A digital processingsystem as in claim 71 wherein the graphics hardware comprises a graphicsprocessing unit (GPU).
 73. A digital processing system as in claim 72further comprising: an input device coupled to the bus, the input devicereceiving input that specifies the nonlinear scaling.
 74. A digitalprocessing system as in claim 73 wherein the processor determines theplurality of regions according to the input.
 75. A digital processingsystem as in claim 71 wherein the graphics hardware converts the firstvideo image from a first color space to the second video image in asecond color space.
 76. A digital processing system as in claim 75wherein the memory comprises a frame buffer; and, the second video imageis stored in the frame buffer for display on a display device of thedigital processing system.
 77. An apparatus for displaying video images,the apparatus comprising: a scaling circuit for scaling a received videoimage of a first aspect ratio nonlinearly along at least one directionto generate an output video image of a second aspect ratio, the secondaspect ratio being different from the first aspect ratio, wherein thescaling is performed according to a nonlinear function from a positioncoordinate of the received video image to a position coordinate of theoutput video image and wherein the nonlinear function comprisespiecewise linear scaling of a plurality of regions according todifferent scaling factors along the at least one direction; and adisplay device coupled to the scaling circuit to display the outputvideo image.
 78. An apparatus as in claim 77 wherein the first aspectratio is preserved at a center portion of the second video image.
 79. Anapparatus as in claim 77 wherein the first video image comprises a videoimage frame from a video stream comprising a plurality of frames.
 80. Anapparatus as in claim 77 wherein the determining comprises determiningthe nonlinear function based on user input.
 81. An apparatus as in claim77 wherein the second video image has at least two different aspectratios within the second video image.
 82. An apparatus as in claim 77wherein a first rectangular region of the first video image is scaled asa first rectangular region of the second video image; aspect ratios ofthe first rectangular region of the first video image and the firstrectangular region of the second video image are substantially the same;a second rectangular region of the first video image is scaled as asecond rectangular region of the second video image; and aspect ratiosof the second rectangular region of the first video image and the secondrectangular region of the second video image are substantiallydifferent.
 83. An apparatus as in claim 77 further comprising: a firstsignal receiving circuit coupled to the scaling circuit, the firstsignal receiving circuit receiving the first video image from a sourceexternal to the apparatus.
 84. An apparatus as in claim 77 wherein theapparatus comprises a television set.
 85. An apparatus as in claim 77wherein the apparatus comprises computer monitor.